﻿Imports SuporteDominio
Public Interface IUsuario

    Function ExisteUsuario(parLogin As String, parSenha As String) As Boolean
    ''' <summary>
    ''' Metodo que realiza cadastro de usuario e registra acesso
    ''' </summary>
    ''' <param name="parLogin"></param>
    ''' <param name="parSenha"></param>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Function Login(parLogin As String, parSenha As String) As Usuario

    Function Cadastrar(parUsuario As Usuario, parCadastrou As Usuario, parDataCadastro As DateTime) As Boolean

    Function Excluir(parUsuario As Usuario) As Boolean

    Function Listar() As List(Of Usuario)

    Function Atualizar(parIdUsuario As Integer, parNovoUsuario As Usuario)


    Function BuscarUsuario(parLogin As String, parSenha As String) As SuporteDominio.Usuario

    Function BuscarUsuario(parIdUsuario As Integer) As Usuario

    Function AdicionarPerfilUsuario(parIdUsuario As Integer, parIdPerfil As Integer)


    'Perfil - relacionado a perfis


    Function ValidaUsuarioPerfil(parIdPerfil As Integer, parIdUsuario As Integer) As Boolean

    Function CadastrarPerfil(parPerfil As Perfil) As Boolean

    Function DesativarPerfil(parIdPerfil As Integer) As Boolean

    Function ListarPerfis() As List(Of Perfil)

    Function AtualizarPerfil(parIdPerfil As Integer, parPerfil As Perfil)

    Function BuscaPerfil(parIdPerfil As Integer) As Perfil

End Interface